#include <deque>
#include <vector>
using namespace std;
/*暴力解法*/
vector<int> maxSlidingWindow(vector<int> &nums, int k) {
  int n = nums.size();
  vector<int> res;
  if (n < k) {
    return {};
  }
  // 记录最大值
  deque<int> d;
  for (int i = 0; i < n; i++) {
    // 元素进入窗口
    while (!d.empty() && d.back() < nums[i]) {
      d.pop_back();
    }
    d.push_back(nums[i]);
    // 元素离开窗口
    if (i - k >= 0) {
      //   当离开窗口的元素大于等于队列最大值是，队列弹出元素
      if (nums[i - k] == d.front()) {
        d.pop_front();
      }
    }
    // 记录数据
    if (i >= k - 1) {
      res.push_back(d.front());
    }
  }
  return res;
};

int main() {
  vector<int> nums{-7, -8, 7, 5, 7, 1, 6, 0};
  auto res = maxSlidingWindow(nums, 3);
}